A navigation application reads data from a geographic database. The data may be next valid character tree (NVC) data, spatial index data, full text search data, data for map rendering or routing, 3D data, traffic message channel (TMC) data, point of interest (POI) data, or general metadata. The data may be stored in different data structures that are designed for their use within the navigation application. For example, the navigation database standard (NDS) specifies storing POI data in a relational way and storing data for routing and map display in binary large objects (BLOBs).
The geographic database may be located on a client device, such as a navigation system. However, the client database may have data that is out-of-date. To obtain current data, the client device may request data from an up-to-date server database. To synchronize the data between an up-to-date server database and an out-of-date client database, synchronization techniques are needed for all of the different data structures. Moreover, the data structures may have special version items that require special treatment.
Despite the different data structures, the navigation application typically reads data from the database file in equally sized pages. The pages are created by a database system without regard to which applications will be using the pages. Moreover, the database system decides which pages to read in what order to provide the relevant content to the navigation application.